home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / HENSA / MATHS / PLPLOT / PLPLOT.ZIP / sys / os2 / readme.1st < prev    next >
Encoding:
Text File  |  1992-05-21  |  2.6 KB  |  52 lines

  1. 5 May 1991
  2. Geoffrey Furnish
  3.  
  4. This directory contains my files for the OS/2 port of PLPLOT.
  5.  
  6. There were a number of things which had to be dealt with in order to get
  7. PLPLOT to work correctly on OS/2.
  8.  
  9. The biggest problem was that PLPLOT had apparently been developed on 
  10. machine(s) with hardware architecture(s) differing significantly from the
  11. architecture of the Intel family.  Although there are certainly good reasons
  12. for the architectual choices made by other processor vendors, PLPLOT was
  13. pretty blind in its reliance upon such things.    Further, PLPLOT was written
  14. entirely in K&R C, which is a nightmare for Intel family processors.
  15.  
  16. In the process of bringing up PLPLOT on OS/2, I was driven to install ANSI
  17. prototypes in a large number of the functions.    Specifically, all those 
  18. taking float's as arguments (but not those taking float *) had to be explicitly
  19. prototyped.  Note:  the problem is not solved in the prototype, however, unless
  20. the function actually uses an ANSI sytle declaration.  So when I say I
  21. prototyped these functions, what I really mean is that I declared the functions
  22. using ANSI syntax.  However, since there are still a fair number of compilers
  23. which do not support ANSI style function declarations (SUN C for one--can you
  24. even believe it???) I was not willing to force the conversion.    Rather, I
  25. made the declarations dependent upon a macro, PLSTDC.  Since I am not aware
  26. of any compilers remaining in the OS/2 market which are not ANSI, this
  27. is the default on OS/2.
  28.  
  29. Furthermore, there were several bugs in the inards of PLPLOT, where surprising
  30. assumptions were made about machine architecture.  In one routine, I discovered
  31. the amusing assumption that short == long !  That is of course patently false
  32. on Intel machines, so this had to be "adjusted".  That was in plfill.c.
  33.  
  34. Another problem with this port was that sscanf breaks if linked with the
  35. fortran stubs, and generates a null pointer assignment problem.  My only 
  36. recourse in this case has been to remove sscanf, and replace it with atol,
  37. or other functional equivalents, as the case allows.  This mostly affects
  38. the drivers, but some other files too.
  39.  
  40. Also, it should be noted that the OS/2 Fortran stubs were written for use
  41. with Microsft Fortran.    There are particular difficulties wtih MS Fortran
  42. in regard to strings, so these stubs may or may not work with other compilers.
  43.  
  44. To the best of my knowledge, all the changes I made consisted of legitimate
  45. enhancements only, and no actual changes to functionality, calling syntax,
  46. or internal algorithms.
  47.  
  48. Finally, I added a PLPLOT meta file writer, and a corresponding renderer.
  49.  
  50. Enjoy.    Report problems to:
  51.         furnish@fusion.ph.utexas.edu
  52.